<?php 
class enhistorico extends Model{
	
     private $_nameTable = "EN_historico";
     
     public function __construct()
     {
     	parent::Model();
     	$this->load->database();
     }
     
	  
	 public function loadDataComapnyHistorico($start = false, $offset = false, $sortname = false, $sortorder = false) {
			
			if($offset != false){
				$this->db->limit($offset, $start);
			}
				
		if($sortname != false && $sortorder != false) {
				$result = $this->db->order_by($sortname, $sortorder);
			}	
	  	
	  	  $result = $this->db->get_where($this->_nameTable);
	  	  return $this->getModeloArrayFromQueryResult($result);
	  	
	  }
	  
	  /**
	   * 
	   * Este methodo se utiliza para obtenen registros por el id de la compania
	   */
	  public function loadCompaniaById($idCompania)
	  {
	  	    $result = $this->db->get_where($this->_nameTable, array('Id_Company' => $idCompania));

			if ($result->num_rows() == 0)
				return false;
	
			return new M_enhistorico($result->row());
	  }
	 
	  public function getModeloArrayFromQueryResult($result)
	  {
		
	   	if ($result->num_rows() == 0)
			return false;
		
	       $modeloUbicacionArr = array(); 
	         foreach ($result->result() as $record) 
		      {
			    $modeloUbicacionArr[] = new M_enhistorico($record);
		      }
		
		return $modeloUbicacionArr;
       }
       
       public function crearRegistro($data)
       {

       	   if ($this->db->insert($this->_nameTable,$data)) {
       	   	   return true;
       	   }else
       	   
       	      return false;
       }
	
       /**
	 * 
	 * 
	 * @param objeto $resurt
	 */
	private function QueryResult($resurt)
	{
		
		   if($resurt->num_rows() == 0){
		       return FALSE;
		    }
			
			$registro_array = array();
			
			foreach ($resurt->result() as $record){
				$registro_array[] = new M_enhistorico($record);
			}
			return $registro_array;
		
	}
       
       /*
        * Busqueda de compañias por dia de una fecha a otra 
        */
       public function loadGraficoCompania($fdesde=FALSE ,$fhasta=FALSE)
       {
          
           $con=FALSE;
           
           $fecha = $fdesde;

           $query=array();
           
           while($con == FALSE){
           
           $this->db->like('date',"$fecha", 'after');           
           
           $query[$fecha] = $this->db->count_all_results($this->_nameTable);
           
           if($fecha > $fhasta):
               
               $con = TRUE;
               
           endif;
           
           $fecha = date("Y-m-d", strtotime("$fecha +1 day"));//suma un dia 
           
           }
           
           return $query ;
       }
	
}

class M_enhistorico{
	
	private $_idHistorico = 0;
	private $_motivoEntrega = 0;
    private $_entregadoA = "";
    private $_entregadoPor = "";
    private $_idUsuario = 0;
    private $_idCompany = 0;
    private $_date = "";
    private $_nota = "";
    
    public function __construct($obj)
    {
    	$this->setIdHistorico($obj->Id_Historico);
    	$this->setMotivoEntrega($obj->Motivo_Entrega);
    	$this->setEntregadoA($obj->Entregado_A);
    	$this->setEntregadoPor($obj->Entregado_Por);
    	$this->setIdUsuario($obj->Id_Usuario);
    	$this->setIdCompany($obj->Id_Company);
    	$this->setDate($obj->date);
    	$this->setNota($obj->nota);
    }
	
    public function setIdHistorico($var)
    {
    	$this->_idHistorico = $var;
    }
    
    public function getIdHistorico()
    {
    	return $this->_idHistorico;
    }
    
    public function setMotivoEntrega($var)
    {
    	$this->_motivoEntrega = $var;
    }
    
    public function getMotivoEntrega()
    {
    	return $this->_motivoEntrega;
    }
    
    public function setEntregadoA($var)
    {
    	$this->_entregadoA = $var;
    }
    
    public function getEntregadoA()
    {
    	return $this->_entregadoA;
    }
    
    public function setEntregadoPor($var)
    {
    	$this->_entregadoPor = $var;
    }
    
    public function getEntregadoPor()
    {
    	return $this->_entregadoPor;
    }
    
    public function setIdUsuario($var)
    {
    	$this->_idUsuario = $var;
    }
    
    public function getIdUsuario()
    {
    	return $this->_idUsuario;
    }
    
    public function setIdCompany($var)
    {
    	$this->_idCompany = $var;
    }
    
    public function getIdCompany()
    {
    	return $this->_idCompany;
    }
    
    public function setDate($var)
    {
    	$this->_date = $var;
    }
    
    public function getDate()
    {
    	return $this->_date;
    }
    
     public function setNota($var)
    {
    	$this->_nota = $var;
    }
    
    public function getNota()
    {
    	return $this->_nota;
    }
}

?>